package demo3;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: xiaotutu
 * Date: 2023-10-28
 * Time: 11:14
 */
public class TestDemo3 {
    protected int a;
}


/*
// extend01包中
public class B {
    private int a;
    protected int b;
    public int c;
    int d;
}
// extend01包中
// 同一个包中的子类
public class D extends B{
    public void method(){
        // super.a = 10; // 编译报错，父类private成员在相同包子类中不可见
        super.b = 20; // 父类中protected成员在相同包子类中可以直接访问
        super.c = 30; // 父类中public成员在相同包子类中可以直接访问
        super.d = 40; // 父类中默认访问权限修饰的成员在相同包子类中可以直接访问
    }
}
// extend02包中
// 不同包中的子类
public class C extends B {
    public void method()
        // super.a = 10; // 编译报错，父类中private成员在不同包子类中不可见
        super.b = 20; // 父类中protected修饰的成员在不同包子类中可以直接访问

        super.c = 30; // 父类中public修饰的成员在不同包子类中可以直接访问
        // super.d = 40; // 父类中默认访问权限修饰的成员在不同包子类中不能直接访问
    }
}
// extend02包中
// 不同包中的类
public class TestC {
    public static void main(String[] args) {
        C c = new C();
        c.method();
        // System.out.println(c.a); // 编译报错，父类中private成员在不同包其他类中不可见
        // System.out.println(c.b); // 父类中protected成员在不同包其他类中不能直接访问
        System.out.println(c.c); // 父类中public成员在不同包其他类中可以直接访问
        // System.out.println(c.d); // 父类中默认访问权限修饰的成员在不同包其他类中不能直接访问
    }
}*/
